Controlling interactions between features and between services has historically been a very challenging area. Within telecommunication switching systems, potential interactions are examined and the desired interacting behavior is determined as part of feature design and development. This method of controlling interactions lacks flexibility and per-user customizability. As the “Intelligent Network” architecture was deployed in telecommunication networks, features were separated from the connection control, which is effected by telecommunication switching systems, to a services layer. Feature interaction control was partially provided by the telecommunication switching system by managing triggers that were used to activate a feature in the services layer. This control often was not sufficient and a new sub-layer between the services layer and the call/connection control layer became useful for feature interaction management. The feature interaction management was controlled by provisioning, typically on a per-user basis. This method was more flexible, but still was typically limited to static sequencing of features or services.
The newer service architectures for communications, applicable to telecommunications and communications using other media types (e.g., data and video), retain the separation of services and call control; in fact, this separation is a major feature of these service architectures. Feature interaction management on a small-grained level could be incorporated within application servers supplying multiple features much as feature interaction management was provided in telecommunication switching systems. Although additional customization is typically provided for some of the interactions by such application servers, the customizing control is limited to the features for which it is provided, and the options provided by the application server manufacturer.
Additional feature interaction management can be provided by the call/connection control system, which is typically a SoftSwitch-like system. This feature interaction management may be a simple trigger management mechanism, such as with the Intelligent Network, or it may be more sophisticated such as in the Serving Call Session Control Function (S-CSCF) of the IP Multimedia Subsystem (IMS) architecture of 3GPP. In the latter case, “initial filter criteria” and “subsequent filter criteria” augment the trigger management significantly. However, the result still is restricted to largely static sequencing of application servers, with any dynamic component determined by the call control message stimulating feature activation. Additionally, each filtering rule is independent so that chaining of rules is not supported, rules are applied per-subscriber so that interactions between multiple subscribers are not dealt with, and each session is viewed as an independent entity so that multi-session awareness is not supported.
To allow more expansive feature interaction management, the IMS standards define a function in the sub-layer of the services layer between call/connection control and the services layer proper for feature interaction management. This function is termed “Service Coordination and Interaction Manager” (SCIM). The precise operation and capabilities of the SCIM are not defined in the standards, nor are the means by which it would be configured.
In addition to feature interaction management, there is a desire to simultaneously leverage investment in service infrastructure and provide new service offerings by blending existing services in novel ways. The SCIM function or similar function at the sub-layer between the services layer proper and the call/connection control layer could be configured or augmented to provide such a capability. The combination of feature interaction management and service blending to provide new capabilities and enriched end-user experiences will be referred to as “service brokering.”
The shortcomings listed above that limit flexibility and dynamic ability, and several related limitations are difficulties that restrict service brokering capabilities and utility. There are also several additional associated difficulties that need to be addressed for fully-effective service brokering. A first associated difficulty is that interactions and service blendings for the same set of services are not typically identical. Different individuals and even different conditions for the same individual may require different interaction control or blending. A second difficulty is that optimal interactions and service blendings may require information outside of events that invoke the services. These can include Presence, Location, policies, user information, end point information, previous events and other state information, and network information. A third difficulty is that services may be short-lived. Replacement of a service providing a certain capability by another service offering to some extent the same or similar capability may be frequent, potentially affecting interaction and blending mechanisms. A fourth difficulty is that interactions and service blendings that involve services other than communication services may be desired. Examples of such services include web services and special purpose application servers that do not utilize typical communication protocols. A fifth difficulty is that future needs cannot be predicted. Conventional mechanisms to provision or otherwise configure feature interaction control and service blending, such as provisioning and graphical user interface configurators, are potentially limiting since the designers of the mechanisms would not be able to foresee all desired interactions and blendings.